home *** CD-ROM | disk | FTP | other *** search
- #VRML V2.0 utf8 - PLATINUM technology, inc. 1997
- #ADD_TOUCH_SENSOR
-
- DEF $OBJECT_DoorCloseRotate OrientationInterpolator
- {
- key [0, 1]
- keyValue [0 1 0 1.5709, 0 1 0 0 ]
- }
- DEF $OBJECT_DoorOpenRotate OrientationInterpolator
- {
- key [0, 1]
- keyValue [0 1 0 0, 0 1 0 1.5709]
- }
- DEF $OBJECT_DoorOpenTimer TimeSensor
- {
- loop FALSE
- cycleInterval 1
- }
-
- DEF $OBJECT_DoorCloseTimer TimeSensor
- {
- loop FALSE
- cycleInterval 1
- }
- DEF $OBJECT_DoorOpenClose Script
- {
- eventIn SFTime touched
- field SFTime time 0
- field SFInt32 mode 0
- field SFTime delay 1.0
- eventOut SFTime openStart
- eventOut SFTime closeStart
- url
- "vrmlscript:
- function touched (value)
- {
- if (value >= (time+delay))
- {
- time=value+.5;
- mode=mode+1;
- if (mode==1)
- {
- openStart=value;
- }
- if (mode==2)
- {
- closeStart=value;
- mode=0;
- }
- }
- }
- "
- }
-
-
- #route map
-
- ROUTE $OBJECTTS.touchTime TO $OBJECT_DoorOpenClose.touched
-
- ROUTE $OBJECT_DoorOpenClose.openStart TO $OBJECT_DoorOpenTimer.set_startTime
- ROUTE $OBJECT_DoorOpenTimer.fraction_changed TO $OBJECT_DoorOpenRotate.set_fraction
- ROUTE $OBJECT_DoorOpenRotate.value_changed TO $OBJECT.set_rotation
-
- ROUTE $OBJECT_DoorOpenClose.closeStart TO $OBJECT_DoorCloseTimer.set_startTime
- ROUTE $OBJECT_DoorCloseTimer.fraction_changed TO $OBJECT_DoorCloseRotate.set_fraction
- ROUTE $OBJECT_DoorCloseRotate.value_changed TO $OBJECT.set_rotation
-